/*
 * @Description: 
 * @Version: 
 * @Autor: tangwc
 * @Date: 2023-03-23 20:24:30
 * @LastEditors: tangwc
 * @LastEditTime: 2023-03-26 20:05:37
 * @FilePath: \stm32_u8g2_demo\Core\Inc\stm32_u8g2.h
 * 
 *  Copyright (c) 2023 by tangwc, All Rights Reserved. 
 */
#ifndef __STM32_U8G2_H_
#define __STM32_U8G2_H_

#include "gpio.h"
#include "u8g2.h"

#define OLED_CLK_PIN GPIO_PIN_9
#define OLED_SDA_PIN GPIO_PIN_8
#define OLED_RES_PIN GPIO_PIN_7
#define OLED_DC_PIN GPIO_PIN_6
#define OLED_CS_PIN GPIO_PIN_5

#define OLED_CLK_CLR HAL_GPIO_WritePin(GPIOB, OLED_CLK_PIN, GPIO_PIN_RESET)
#define OLED_CLK_SET HAL_GPIO_WritePin(GPIOB, OLED_CLK_PIN, GPIO_PIN_SET)

#define OLED_SDA_CLR HAL_GPIO_WritePin(GPIOB, OLED_SDA_PIN, GPIO_PIN_RESET)
#define OLED_SDA_SET HAL_GPIO_WritePin(GPIOB, OLED_SDA_PIN, GPIO_PIN_SET)

#define OLED_RES_CLR HAL_GPIO_WritePin(GPIOB, OLED_RES_PIN, GPIO_PIN_RESET)
#define OLED_RES_SET HAL_GPIO_WritePin(GPIOB, OLED_RES_PIN, GPIO_PIN_SET)

#define OLED_DC_CLR HAL_GPIO_WritePin(GPIOB, OLED_DC_PIN, GPIO_PIN_RESET)
#define OLED_DC_SET HAL_GPIO_WritePin(GPIOB, OLED_DC_PIN, GPIO_PIN_SET)

#define OLED_CS_CLR HAL_GPIO_WritePin(GPIOB, OLED_CS_PIN, GPIO_PIN_RESET)
#define OLED_CS_SET HAL_GPIO_WritePin(GPIOB, OLED_CS_PIN, GPIO_PIN_SET)

void u8g2_init(u8g2_t *u8g2);
void u8g2_test_demo(u8g2_t *u8g2);

#endif
